<?php

use think\facade\Db;
use think\migration\Migrator;

class InstallData extends Migrator
{


    public string $createTime = '';

    /**
     * Change Method.
     *
     * Write your reversible migrations using this method.
     *
     * More information on writing migrations is available here=>
     * http=>//docs.phinx.org/en/latest/migrations.html#the-abstractmigration-class
     *
     * The following commands can be used in this method and Phinx will
     * automatically reverse them when rolling back=>
     *
     *    createTable
     *    renameTable
     *    addColumn
     *    renameColumn
     *    addIndex
     *    addForeignKey
     *
     * Remember to call 'create()' or 'update()' and NOT 'save()' when working
     * with the Table class.
     */
    public function change(): void
    {
        $this->createTime = time();
        $this->admin();
        $this->adminGroup();
        $this->adminRule();
        $this->dict();
        $this->dictItem();
        $this->fileGroup();
        $this->setting();
        $this->settingGroup();
        $this->user();
        $this->userRule();
        $this->userGroup();
    }

    public function admin(): void
    {
        $table = $this->table('admin');
        $rows = [
            [
                'id' => 1,
                'username' => 'admin',
                'nickname' => 'Admin',
                'avatar_id' => 0,
                'group_id' => 1,
                'password' => '$2y$10$k8R6dLJ6TopQ8IUoDOBUvezDvr6UShMtTfMMiv1uh2CvZlQKMWSne',
                'email' => 'admin@xinadmin.cn',
                'mobile' => '1888888888',
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ]
        ];
        $exist = Db::name('admin')->count();
        if (!$exist) {
            $table->insert($rows)->saveData();
        }
    }

    public function adminGroup(): void
    {
        $table = $this->table('admin_group');
        $rows = [
            [
                'id' => 1,
                'pid' => 0,
                'name' => '系统管理员',
                'rules' => '*',
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 2,
                'pid' => 1,
                'name' => '二级管理员',
                'rules' => '1,9,10,11,12',
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 3,
                'pid' => 2,
                'name' => '三级管理员',
                'rules' => '10,11,12,13,14,15,30,31,32,33,43,44,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,84,88,89,90,91,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113',
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
        ];
        $exist = Db::name('admin_group')->count();
        if (!$exist) {
            $table->insert($rows)->saveData();
        }
    }

    public function adminRule(): void
    {
        $table = $this->table('admin_rule');
        $rows = [
            [
                'id' => 2,
                'pid' => 0,
                'type' => '0',
                'sort' => 998,
                'name' => '示例组件',
                'path' => '/data',
                'icon' => 'icon-daichuzhishijianzongshu',
                'key' => 'data',
                'locale' => 'menu.components',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 3,
                'pid' => 2,
                'type' => '1',
                'sort' => 0,
                'name' => '定义列表',
                'path' => '/data/descriptions',
                'icon' => '',
                'key' => 'data.descriptions',
                'locale' => 'menu.components.descriptions',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 7,
                'pid' => 92,
                'type' => '1',
                'sort' => 0,
                'name' => '管理员列表',
                'path' => '/admin/list',
                'icon' => null,
                'key' => 'admin.list',
                'locale' => 'menu.admin.list',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 8,
                'pid' => 92,
                'type' => '1',
                'sort' => 1,
                'name' => '管理员分组',
                'path' => '/admin/group',
                'icon' => null,
                'key' => 'admin.group',
                'locale' => 'menu.admin.group',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 9,
                'pid' => 92,
                'type' => '1',
                'sort' => 2,
                'name' => '权限菜单管理',
                'path' => '/admin/rule',
                'icon' => null,
                'key' => 'admin.rule',
                'locale' => 'menu.admin.rule',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 10,
                'pid' => 0,
                'type' => '0',
                'sort' => 995,
                'name' => '系统管理',
                'path' => '/system',
                'icon' => 'icon-henjiqingli',
                'key' => 'system',
                'locale' => 'menu.system',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 11,
                'pid' => 10,
                'type' => '1',
                'sort' => 3,
                'name' => '字典管理',
                'path' => '/system/dict',
                'icon' => null,
                'key' => 'system.dict',
                'locale' => 'menu.system.dict',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 12,
                'pid' => 11,
                'type' => '2',
                'sort' => 0,
                'name' => '字典新建',
                'path' => null,
                'icon' => null,
                'key' => 'system.dict.add',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 13,
                'pid' => 11,
                'type' => '2',
                'sort' => 0,
                'name' => '字典删除',
                'path' => null,
                'icon' => null,
                'key' => 'system.dict.delete',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 14,
                'pid' => 11,
                'type' => '2',
                'sort' => 0,
                'name' => '字典编辑',
                'path' => null,
                'icon' => null,
                'key' => 'system.dict.edit',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 15,
                'pid' => 11,
                'type' => '2',
                'sort' => 0,
                'name' => '字典查看',
                'path' => null,
                'icon' => null,
                'key' => 'system.dict.list',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 16,
                'pid' => 7,
                'type' => '2',
                'sort' => 0,
                'name' => '查看管理员列表',
                'path' => null,
                'icon' => null,
                'key' => 'admin.list.list',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 17,
                'pid' => 7,
                'type' => '2',
                'sort' => 0,
                'name' => '新增管理员',
                'path' => null,
                'icon' => null,
                'key' => 'admin.list.add',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 18,
                'pid' => 7,
                'type' => '2',
                'sort' => 0,
                'name' => '编辑管理员',
                'path' => null,
                'icon' => null,
                'key' => 'admin.list.edit',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 19,
                'pid' => 7,
                'type' => '2',
                'sort' => 0,
                'name' => '删除管理员',
                'path' => null,
                'icon' => null,
                'key' => 'admin.list.delete',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 20,
                'pid' => 8,
                'type' => '2',
                'sort' => 0,
                'name' => '管理员分组查看',
                'path' => null,
                'icon' => null,
                'key' => 'admin.group.list',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 21,
                'pid' => 8,
                'type' => '2',
                'sort' => 0,
                'name' => '管理员分组新增',
                'path' => null,
                'icon' => null,
                'key' => 'admin.group.add',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 22,
                'pid' => 8,
                'type' => '2',
                'sort' => 0,
                'name' => '管理员分组编辑',
                'path' => null,
                'icon' => null,
                'key' => 'admin.group.edit',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 23,
                'pid' => 8,
                'type' => '2',
                'sort' => 0,
                'name' => '管理员分组删除',
                'path' => null,
                'icon' => null,
                'key' => 'admin.group.delete',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 24,
                'pid' => 8,
                'type' => '2',
                'sort' => 0,
                'name' => '分组权限查看',
                'path' => null,
                'icon' => null,
                'key' => 'admin.group.rule',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 25,
                'pid' => 8,
                'type' => '2',
                'sort' => 0,
                'name' => '管理员权限修改',
                'path' => null,
                'icon' => null,
                'key' => 'admin.group.ruleEdit',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 26,
                'pid' => 9,
                'type' => '2',
                'sort' => 0,
                'name' => '权限管理查看',
                'path' => null,
                'icon' => null,
                'key' => 'admin.rule.list',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 27,
                'pid' => 9,
                'type' => '2',
                'sort' => 0,
                'name' => '权限管理新增',
                'path' => null,
                'icon' => null,
                'key' => 'admin.rule.add',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 28,
                'pid' => 9,
                'type' => '2',
                'sort' => 0,
                'name' => '权限管理编辑',
                'path' => null,
                'icon' => null,
                'key' => 'admin.rule.edit',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 29,
                'pid' => 9,
                'type' => '2',
                'sort' => 0,
                'name' => '权限管理删除',
                'path' => null,
                'icon' => null,
                'key' => 'admin.rule.delete',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 30,
                'pid' => 11,
                'type' => '2',
                'sort' => 0,
                'name' => '字典配置',
                'path' => null,
                'icon' => null,
                'key' => 'system.dict.item.list',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 31,
                'pid' => 11,
                'type' => '2',
                'sort' => 0,
                'name' => '字典配置新增',
                'path' => null,
                'icon' => null,
                'key' => 'system.dict.item.add',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 32,
                'pid' => 11,
                'type' => '2',
                'sort' => 0,
                'name' => '字典配置编辑',
                'path' => null,
                'icon' => null,
                'key' => 'system.dict.item.edit',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 33,
                'pid' => 11,
                'type' => '2',
                'sort' => 0,
                'name' => '字典配置删除',
                'path' => null,
                'icon' => null,
                'key' => 'system.dict.item.delete',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 35,
                'pid' => 2,
                'type' => '1',
                'sort' => 0,
                'name' => '高级列表',
                'path' => '/data/list',
                'icon' => null,
                'key' => 'data.list',
                'locale' => 'menu.components.list',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 36,
                'pid' => 2,
                'type' => '1',
                'sort' => 0,
                'name' => '单选卡片',
                'path' => '/data/checkcard',
                'icon' => null,
                'key' => 'data.checkcard',
                'locale' => 'menu.components.checkcard',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 39,
                'pid' => 0,
                'type' => '0',
                'sort' => 997,
                'name' => '会员管理',
                'path' => '/user',
                'icon' => 'icon-hexinzichan',
                'key' => 'user',
                'locale' => 'menu.user',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 40,
                'pid' => 39,
                'type' => '1',
                'sort' => 0,
                'name' => '会员列表',
                'path' => '/user/list',
                'icon' => null,
                'key' => 'user.list',
                'locale' => 'menu.user.list',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 43,
                'pid' => 0,
                'type' => '0',
                'sort' => 994,
                'name' => '在线开发',
                'path' => '/online',
                'icon' => 'icon-weixieqingbao',
                'key' => 'online',
                'locale' => 'menu.online',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 44,
                'pid' => 43,
                'type' => '1',
                'sort' => 0,
                'name' => '表格设计',
                'path' => '/online/table',
                'icon' => null,
                'key' => 'online.table',
                'locale' => 'menu.online.table',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 48,
                'pid' => 0,
                'type' => '0',
                'sort' => 99,
                'name' => 'Xin Admin',
                'path' => 'https://xinadmin.cn/',
                'icon' => null,
                'key' => 'xinadmin',
                'locale' => 'menu.xinadmin',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 49,
                'pid' => 10,
                'type' => '1',
                'sort' => 5,
                'name' => '系统信息',
                'path' => '/system/info',
                'icon' => null,
                'key' => 'system.info',
                'locale' => 'menu.system.info',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 50,
                'pid' => 10,
                'type' => '1',
                'sort' => 4,
                'name' => '系统设置',
                'path' => '/system/setting',
                'icon' => null,
                'key' => 'system.setting',
                'locale' => 'menu.system.setting',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 51,
                'pid' => 50,
                'type' => '2',
                'sort' => 0,
                'name' => '设置分组查看',
                'path' => null,
                'icon' => null,
                'key' => 'system.setting.querySettingGroup',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 52,
                'pid' => 50,
                'type' => '2',
                'sort' => 1,
                'name' => '设置分组新增',
                'path' => null,
                'icon' => null,
                'key' => 'system.setting.addGroup',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 53,
                'pid' => 50,
                'type' => '2',
                'sort' => 3,
                'name' => '查询设置父 ID',
                'path' => null,
                'icon' => null,
                'key' => 'system.setting.querySettingPid',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime
            ],
            [
                'id' => 54,
                'pid' => 44,
                'type' => '2',
                'sort' => 0,
                'name' => '表格设计查询',
                'path' => null,
                'icon' => null,
                'key' => 'online.table.list',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime
            ],
            [
                'id' => 55,
                'pid' => 44,
                'type' => '2',
                'sort' => 1,
                'name' => '表格设计编辑',
                'path' => null,
                'icon' => null,
                'key' => 'online.table.edit',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime
            ],
            [
                'id' => 56,
                'pid' => 44,
                'type' => '2',
                'sort' => 2,
                'name' => '表格设计删除',
                'path' => null,
                'icon' => null,
                'key' => 'online.table.delete',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime
            ],
            [
                'id' => 57,
                'pid' => 44,
                'type' => '2',
                'sort' => 3,
                'name' => '表格设计',
                'path' => null,
                'icon' => null,
                'key' => 'online.table.devise',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime
            ],
            [
                'id' => 58,
                'pid' => 44,
                'type' => '2',
                'sort' => 4,
                'name' => 'CRUD 保存',
                'path' => null,
                'icon' => null,
                'key' => 'online.table.saveData',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime
            ],
            [
                'id' => 59,
                'pid' => 44,
                'type' => '2',
                'sort' => 5,
                'name' => '获取 CRUD 数据',
                'path' => null,
                'icon' => null,
                'key' => 'online.table.getData',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime
            ],
            [
                'id' => 60,
                'pid' => 44,
                'type' => '2',
                'sort' => 6,
                'name' => 'CRUD 保存并生成',
                'path' => null,
                'icon' => null,
                'key' => 'online.table.crud',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime
            ],
            [
                'id' => 61,
                'pid' => 50,
                'type' => '2',
                'sort' => 3,
                'name' => '获取设置列表',
                'path' => null,
                'icon' => null,
                'key' => 'system.setting.list',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime
            ],
            [
                'id' => 62,
                'pid' => 50,
                'type' => '2',
                'sort' => 4,
                'name' => '新增设置',
                'path' => null,
                'icon' => null,
                'key' => 'system.setting.add',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime
            ],
            [
                'id' => 63,
                'pid' => 50,
                'type' => '2',
                'sort' => 5,
                'name' => '编辑设置',
                'path' => null,
                'icon' => null,
                'key' => 'system.setting.edit',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime
            ],
            [
                'id' => 64,
                'pid' => 50,
                'type' => '2',
                'sort' => 6,
                'name' => '删除设置',
                'path' => null,
                'icon' => null,
                'key' => 'system.setting.delete',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime
            ],
            [
                'id' => 69,
                'pid' => 39,
                'type' => '1',
                'sort' => 2,
                'name' => '会员分组',
                'path' => '/user/group',
                'icon' => null,
                'key' => 'user.group',
                'locale' => 'menu.user.group',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime
            ],
            [
                'id' => 70,
                'pid' => 39,
                'type' => '1',
                'sort' => 2,
                'name' => '权限管理',
                'path' => '/user/rule',
                'icon' => null,
                'key' => 'user.rule',
                'locale' => 'menu.user.rule',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime
            ],
            [
                'id' => 71,
                'pid' => 40,
                'type' => '2',
                'sort' => 1,
                'name' => '会员列表查询',
                'path' => null,
                'icon' => null,
                'key' => 'user.list.list',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime
            ],
            [
                'id' => 72,
                'pid' => 40,
                'type' => '2',
                'sort' => 2,
                'name' => '会员列表编辑',
                'path' => null,
                'icon' => null,
                'key' => 'user.list.edit',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 73,
                'pid' => 40,
                'type' => '2',
                'sort' => 3,
                'name' => '会员列表新增',
                'path' => null,
                'icon' => null,
                'key' => 'user.list.add',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 74,
                'pid' => 40,
                'type' => '2',
                'sort' => 4,
                'name' => '会员列表删除',
                'path' => null,
                'icon' => null,
                'key' => 'user.list.delete',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 75,
                'pid' => 69,
                'type' => '2',
                'sort' => 1,
                'name' => '会员分组查询',
                'path' => null,
                'icon' => null,
                'key' => 'user.group.list',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 76,
                'pid' => 69,
                'type' => '2',
                'sort' => 2,
                'name' => '会员分组新增',
                'path' => null,
                'icon' => null,
                'key' => 'user.group.add',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 77,
                'pid' => 69,
                'type' => '2',
                'sort' => 3,
                'name' => '会员分组编辑',
                'path' => null,
                'icon' => null,
                'key' => 'user.group.edit',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 78,
                'pid' => 69,
                'type' => '2',
                'sort' => 4,
                'name' => '会员分组删除',
                'path' => null,
                'icon' => null,
                'key' => 'user.group.delete',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 79,
                'pid' => 69,
                'type' => '2',
                'sort' => 5,
                'name' => '分组权限查看',
                'path' => null,
                'icon' => null,
                'key' => 'user.group.rule',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 80,
                'pid' => 69,
                'type' => '2',
                'sort' => 6,
                'name' => '分组权限修改',
                'path' => null,
                'icon' => null,
                'key' => 'user.group.ruleEdit',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 81,
                'pid' => 39,
                'type' => '1',
                'sort' => 4,
                'name' => '会员余额记录',
                'path' => '/user/moneyLog',
                'icon' => null,
                'key' => 'user.moneyLog',
                'locale' => 'menu.user.moneyLog',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 82,
                'pid' => 81,
                'type' => '2',
                'sort' => 0,
                'name' => '会员余额记录查询',
                'path' => null,
                'icon' => null,
                'key' => 'user.moneyLog.list',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 83,
                'pid' => 81,
                'type' => '2',
                'sort' => 2,
                'name' => '修改用户余额',
                'path' => null,
                'icon' => null,
                'key' => 'user.moneyLog.add',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 84,
                'pid' => 44,
                'type' => '2',
                'sort' => 0,
                'name' => '表格设计新增',
                'path' => null,
                'icon' => null,
                'key' => 'online.table.add',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 85,
                'pid' => 81,
                'type' => '2',
                'sort' => 3,
                'name' => '会员余额记录删除',
                'path' => null,
                'icon' => null,
                'key' => 'user.moneyLog.delete',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 86,
                'pid' => 2,
                'type' => '1',
                'sort' => 0,
                'name' => '表单示例',
                'path' => '/data/form',
                'icon' => null,
                'key' => 'data.form',
                'locale' => 'menu.components.form',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 87,
                'pid' => 7,
                'type' => '2',
                'sort' => 1,
                'name' => '修改管理员密码',
                'path' => null,
                'icon' => null,
                'key' => 'admin.list.updatePwd',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 88,
                'pid' => 0,
                'type' => '0',
                'sort' => 999,
                'name' => '仪表盘',
                'path' => '/dashboard',
                'icon' => 'icon-gongjizhe',
                'key' => 'dashboard',
                'locale' => 'menu.dashboard',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 89,
                'pid' => 88,
                'type' => '1',
                'sort' => 10,
                'name' => '分析页',
                'path' => '/dashboard/analysis',
                'icon' => 'RadarChartOutlined',
                'key' => 'dashboard.analysis',
                'locale' => 'menu.dashboard.analysis',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 90,
                'pid' => 88,
                'type' => '1',
                'sort' => 1,
                'name' => '监控页',
                'path' => '/dashboard/monitor',
                'icon' => 'RadarChartOutlined',
                'key' => 'dashboard.monitor',
                'locale' => 'menu.dashboard.monitor',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 91,
                'pid' => 88,
                'type' => '1',
                'sort' => 2,
                'name' => '工作台',
                'path' => '/dashboard/workplace',
                'icon' => 'RadarChartOutlined',
                'key' => 'dashboard.workplace',
                'locale' => 'menu.dashboard.workplace',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 92,
                'pid' => 0,
                'type' => '0',
                'sort' => 996,
                'name' => '管理员',
                'path' => '/admin',
                'icon' => 'icon-jiangshizhuji',
                'key' => 'admin',
                'locale' => 'menu.admin',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 93,
                'pid' => 2,
                'type' => '1',
                'sort' => 5,
                'name' => '高级表格',
                'path' => '/data/table',
                'icon' => null,
                'key' => 'data.table',
                'locale' => 'menu.components.table',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 94,
                'pid' => 2,
                'type' => '1',
                'sort' => 6,
                'name' => '图标选择',
                'path' => '/data/icon',
                'icon' => null,
                'key' => 'data.icon',
                'locale' => 'menu.components.iconForm',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 102,
                'pid' => 10,
                'type' => '1',
                'sort' => 4,
                'name' => '文件管理',
                'path' => '/system/file',
                'icon' => null,
                'key' => 'system.file',
                'locale' => 'menu.File',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 103,
                'pid' => 102,
                'type' => '2',
                'sort' => 0,
                'name' => '文件分组列表',
                'path' => null,
                'icon' => null,
                'key' => 'file.group.list',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 104,
                'pid' => 102,
                'type' => '2',
                'sort' => 1,
                'name' => '新增文件分组',
                'path' => null,
                'icon' => null,
                'key' => 'file.group.add',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 105,
                'pid' => 102,
                'type' => '2',
                'sort' => 2,
                'name' => '编辑文件分组',
                'path' => null,
                'icon' => null,
                'key' => 'file.group.edit',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 106,
                'pid' => 102,
                'type' => '2',
                'sort' => 3,
                'name' => '删除文件分组',
                'path' => null,
                'icon' => null,
                'key' => 'file.group.delete',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 107,
                'pid' => 102,
                'type' => '2',
                'sort' => 4,
                'name' => '获取文件列表',
                'path' => null,
                'icon' => null,
                'key' => 'file.file.list',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 108,
                'pid' => 102,
                'type' => '2',
                'sort' => 5,
                'name' => '删除文件',
                'path' => null,
                'icon' => null,
                'key' => 'file.file.delete',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 109,
                'pid' => 102,
                'type' => '2',
                'sort' => 6,
                'name' => '上传图片文件',
                'path' => null,
                'icon' => null,
                'key' => 'file.upload.image',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 110,
                'pid' => 102,
                'type' => '2',
                'sort' => 7,
                'name' => '上传视频文件',
                'path' => null,
                'icon' => null,
                'key' => 'file.upload.video',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 111,
                'pid' => 102,
                'type' => '2',
                'sort' => 8,
                'name' => '上传压缩文件',
                'path' => null,
                'icon' => null,
                'key' => 'file.upload.zip',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 112,
                'pid' => 102,
                'type' => '2',
                'sort' => 9,
                'name' => '上传音频文件',
                'path' => null,
                'icon' => null,
                'key' => 'file.upload.mp3',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 113,
                'pid' => 102,
                'type' => '2',
                'sort' => 10,
                'name' => '上传其它文件',
                'path' => null,
                'icon' => null,
                'key' => 'file.upload.annex',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 114,
                'pid' => 70,
                'type' => '2',
                'sort' => 99,
                'name' => '权限列表',
                'path' => null,
                'icon' => null,
                'key' => 'user.rule.list',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 115,
                'pid' => 70,
                'type' => '2',
                'sort' => 88,
                'name' => '会员权限新增',
                'path' => null,
                'icon' => null,
                'key' => 'user.rule.add',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 116,
                'pid' => 70,
                'type' => '2',
                'sort' => 60,
                'name' => '会员权限删除',
                'path' => null,
                'icon' => null,
                'key' => 'user.rule.delete',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 117,
                'pid' => 70,
                'type' => '2',
                'sort' => 0,
                'name' => '会员权限编辑',
                'path' => null,
                'icon' => null,
                'key' => 'user.rule.edit',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 118,
                'pid' => 0,
                'type' => '0',
                'sort' => 100,
                'name' => '用户设置',
                'path' => '/admin/setting',
                'icon' => 'icon-WEBweihu',
                'key' => 'admin.setting',
                'locale' => null,
                'status' => 1,
                'show' => 0,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 119,
                'pid' => 10,
                'type' => '1',
                'sort' => 5,
                'name' => '系统监控',
                'path' => '/system/monitor',
                'icon' => null,
                'key' => 'system.monitor',
                'locale' => 'menu.system.monitor',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 120,
                'pid' => 119,
                'type' => '2',
                'sort' => 5,
                'name' => '监控列表',
                'path' => null,
                'icon' => null,
                'key' => 'system.monitor.list',
                'locale' => null,
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
        ];
        $exist = Db::name('admin_rule')->count();
        if (!$exist) {
            $table->insert($rows)->saveData();
        }
    }

    public function dict(): void
    {
        $table = $this->table('dict');
        $rows = [
            [
                'id' => 12,
                'name' => '性别',
                'type' => 'default',
                'describe' => '性别',
                'code' => 'sex',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 13,
                'name' => '人物',
                'type' => 'default',
                'describe' => '任务',
                'code' => 'pop',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 14,
                'name' => '状态',
                'type' => 'default',
                'describe' => '状态',
                'code' => 'status',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 16,
                'name' => '权限类型',
                'type' => 'tag',
                'describe' => '权限类型',
                'code' => 'ruleType',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 17,
                'name' => '字段类型',
                'type' => 'default',
                'describe' => '前端表单类型字典，请不要修改',
                'code' => 'valueType',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 19,
                'name' => '查询操作符',
                'type' => 'default',
                'describe' => '系统查询操作符，请不要修改',
                'code' => 'select',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 20,
                'name' => '验证规则',
                'type' => 'default',
                'describe' => 'CRUD 验证规则，请不要修改',
                'code' => 'validation',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 21,
                'name' => '余额变动记录类型',
                'type' => 'tag',
                'describe' => '余额变动记录类型',
                'code' => 'moneyLog',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ]
        ];
        $exist = Db::name('dict')->count();
        if (!$exist) {
            $table->insert($rows)->saveData();
        }
    }

    public function dictItem(): void
    {
        $table = $this->table('dict_item');
        $rows = [
            [
                'id' => 1,
                'dict_id' => 14,
                'label' => '男',
                'value' => '0',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 2,
                'dict_id' => 14,
                'label' => '女',
                'value' => '1',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 3,
                'dict_id' => 12,
                'label' => '男',
                'value' => '0',
                'switch' => '1',
                'status' => 'success',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 5,
                'dict_id' => 12,
                'label' => '女',
                'value' => '1',
                'switch' => '1',
                'status' => 'error',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 6,
                'dict_id' => 14,
                'label' => '变态',
                'value' => '3',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 7,
                'dict_id' => 16,
                'label' => '一级菜单',
                'value' => '0',
                'switch' => '1',
                'status' => 'processing',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 8,
                'dict_id' => 16,
                'label' => '子菜单',
                'value' => '1',
                'switch' => '1',
                'status' => 'success',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 9,
                'dict_id' => 16,
                'label' => '按钮',
                'value' => '2',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 10,
                'dict_id' => 17,
                'label' => '文本框',
                'value' => 'text',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 11,
                'dict_id' => 17,
                'label' => '数字输入框',
                'value' => 'digit',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 12,
                'dict_id' => 17,
                'label' => '日期',
                'value' => 'date',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 13,
                'dict_id' => 17,
                'label' => '金额输入框',
                'value' => 'money',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 14,
                'dict_id' => 17,
                'label' => '文本域',
                'value' => 'textarea',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 15,
                'dict_id' => 17,
                'label' => '下拉框',
                'value' => 'select',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 17,
                'dict_id' => 17,
                'label' => '多选框',
                'value' => 'checkbox',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 18,
                'dict_id' => 17,
                'label' => '星级组件',
                'value' => 'rate',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 19,
                'dict_id' => 17,
                'label' => '单选框',
                'value' => 'radio',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 20,
                'dict_id' => 17,
                'label' => '按钮单选框',
                'value' => 'radioButton',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 21,
                'dict_id' => 17,
                'label' => '开关',
                'value' => 'switch',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 22,
                'dict_id' => 17,
                'label' => '日期时间',
                'value' => 'dateTime',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 23,
                'dict_id' => 18,
                'label' => '字符串(TEXT)',
                'value' => 'text',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 24,
                'dict_id' => 18,
                'label' => '字符型(CHAR)',
                'value' => 'char',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 25,
                'dict_id' => 18,
                'label' => '变长字符型(VARCHAR)',
                'value' => 'varchar',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 26,
                'dict_id' => 18,
                'label' => '整数型(INT)',
                'value' => 'int',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 27,
                'dict_id' => 18,
                'label' => '长整数型(BIGINT)',
                'value' => 'bigint',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 28,
                'dict_id' => 18,
                'label' => '小数型(DECIMAL)',
                'value' => 'decimal',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 29,
                'dict_id' => 18,
                'label' => '浮点型(FLOAT)',
                'value' => 'float',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 30,
                'dict_id' => 18,
                'label' => '双精度浮点型(DOUBLE)',
                'value' => 'double',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 31,
                'dict_id' => 18,
                'label' => '布尔型(BOOLEAN)',
                'value' => 'boolean',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 32,
                'dict_id' => 18,
                'label' => '日期型(DATE)',
                'value' => 'date',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 33,
                'dict_id' => 18,
                'label' => '时间型(TIME)',
                'value' => 'time',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 34,
                'dict_id' => 18,
                'label' => '日期时间型(DATETIME)',
                'value' => 'datetime',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 35,
                'dict_id' => 18,
                'label' => '时间戳(TIMESTAMP)',
                'value' => 'timestamp',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 36,
                'dict_id' => 18,
                'label' => '二进制 large 对象 (BLOB)',
                'value' => 'blob',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 37,
                'dict_id' => 18,
                'label' => '字符 large 对象 (CLOB)',
                'value' => 'clob',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 42,
                'dict_id' => 19,
                'label' => '等于',
                'value' => '=',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 43,
                'dict_id' => 19,
                'label' => '大于',
                'value' => '>',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 44,
                'dict_id' => 19,
                'label' => '小于',
                'value' => '<',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 45,
                'dict_id' => 19,
                'label' => '大于等于',
                'value' => '>=',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 46,
                'dict_id' => 19,
                'label' => '小于等于',
                'value' => '<=',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 47,
                'dict_id' => 19,
                'label' => '不等于',
                'value' => '<>',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 48,
                'dict_id' => 19,
                'label' => '包含',
                'value' => 'like',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 49,
                'dict_id' => 19,
                'label' => '日期查询',
                'value' => 'date',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 50,
                'dict_id' => 20,
                'label' => '必填',
                'value' => 'verifyRequired',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 51,
                'dict_id' => 20,
                'label' => '纯数字',
                'value' => 'verifyNumber',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 52,
                'dict_id' => 20,
                'label' => '邮箱',
                'value' => 'verifyEmail',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 53,
                'dict_id' => 20,
                'label' => 'Url',
                'value' => 'verifyUrl',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 54,
                'dict_id' => 20,
                'label' => '整数',
                'value' => 'verifyInteger',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 55,
                'dict_id' => 20,
                'label' => '手机号',
                'value' => 'verifyMobile',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 56,
                'dict_id' => 20,
                'label' => '身份证',
                'value' => 'verifyIdCard',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 57,
                'dict_id' => 20,
                'label' => '字符串',
                'value' => 'verifyString',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 58,
                'dict_id' => 17,
                'label' => '自增主键',
                'value' => 'id',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 61,
                'dict_id' => 21,
                'label' => '管理员操作',
                'value' => '0',
                'switch' => '1',
                'status' => 'processing',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 62,
                'dict_id' => 21,
                'label' => '消费',
                'value' => '1',
                'switch' => '1',
                'status' => 'error',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 63,
                'dict_id' => 21,
                'label' => '签到奖励',
                'value' => '2',
                'switch' => '1',
                'status' => 'success',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 64,
                'dict_id' => 17,
                'label' => '密码框',
                'value' => 'password',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 65,
                'dict_id' => 17,
                'label' => '月',
                'value' => 'dateMonth',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 66,
                'dict_id' => 17,
                'label' => '季度',
                'value' => 'dateQuarter',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 67,
                'dict_id' => 17,
                'label' => '年',
                'value' => 'dateYear',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 68,
                'dict_id' => 17,
                'label' => '颜色选择器',
                'value' => 'color',
                'switch' => '1',
                'status' => 'default',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ]
        ];
        $exist = Db::name('dict_item')->count();
        if (!$exist) {
            $table->insert($rows)->saveData();
        }
    }

    public function fileGroup(): void
    {
        $table = $this->table('file_group');
        $rows = [
            [
                'group_id' => 14,
                'name' => '头像文件夹',
                'parent_id' => 0,
                'sort' => 0,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'group_id' => 15,
                'name' => '附件文件夹',
                'parent_id' => 0,
                'sort' => 0,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'group_id' => 16,
                'name' => '视频文件夹',
                'parent_id' => 0,
                'sort' => 0,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ]
        ];
        $exist = Db::name('file_group')->count();
        if (!$exist) {
            $table->insert($rows)->saveData();
        }
    }

    public function setting(): void
    {
        $table = $this->table('setting');
        $rows = [
            [
                'id' => 1,
                'key' => 'title',
                'title' => '网站标题',
                'describe' => '网站标题，用于展示在网站logo旁边和登录页面以及网页title中',
                'values' => 'Xin Admin',
                'type' => 'input',
                'options' => '',
                'props' => '',
                'group_id' => 3,
                'sort' => 0,
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 4,
                'key' => 'logo',
                'title' => '网站 LOGO',
                'describe' => '网站的LOGO，用于标识网站',
                'values' => 'https://file.xinadmin.cn/file/favicons.ico',
                'type' => 'input',
                'options' => '',
                'props' => '',
                'group_id' => 3,
                'sort' => 0,
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 5,
                'key' => 'subtitle',
                'title' => '网站副标题',
                'describe' => '网站副标题，展示在登录页面标题的下面',
                'values' => 'Xin Admin 快速开发框架',
                'type' => 'input',
                'options' => '',
                'props' => '',
                'group_id' => 3,
                'sort' => 0,
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 6,
                'key' => 'login',
                'title' => '邮箱登录',
                'describe' => '是否开启邮箱登录',
                'values' => '0',
                'type' => 'switch',
                'options' => '',
                'props' => '',
                'group_id' => 4,
                'sort' => 99,
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 7,
                'key' => 'Port',
                'title' => '服务器端口',
                'describe' => '邮箱服务器端口',
                'values' => '465',
                'type' => 'input',
                'options' => '',
                'props' => '',
                'group_id' => 4,
                'sort' => 80,
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 8,
                'key' => 'SMTPSecure',
                'title' => '邮箱协议',
                'describe' => '邮箱协议 TLS 或者ssl协议',
                'values' => 'ssl',
                'type' => 'input',
                'options' => '',
                'props' => '',
                'group_id' => 4,
                'sort' => 70,
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 9,
                'key' => 'username',
                'title' => 'SMTP 用户名',
                'describe' => '邮箱 SMTP 用户名',
                'values' => '',
                'type' => 'input',
                'options' => '',
                'props' => '',
                'group_id' => 4,
                'sort' => 60,
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 10,
                'key' => 'password',
                'title' => 'SMTP 密码',
                'describe' => '邮箱 SMTP 密码',
                'values' => '',
                'type' => 'password',
                'options' => '',
                'props' => '',
                'group_id' => 4,
                'sort' => 60,
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 11,
                'key' => 'smtp',
                'title' => 'SMTP服务器',
                'describe' => 'SMTP服务器 地址',
                'values' => '',
                'type' => 'input',
                'options' => '',
                'props' => '',
                'group_id' => 4,
                'sort' => 50,
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 12,
                'key' => 'char',
                'title' => '邮件编码',
                'describe' => '邮件编码，UTF-8',
                'values' => 'UTF-8',
                'type' => 'input',
                'options' => '',
                'props' => '',
                'group_id' => 4,
                'sort' => 50,
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ]
        ];
        $exist = Db::name('setting')->count();
        if (!$exist) {
            $table->insert($rows)->saveData();
        }
    }

    public function settingGroup(): void
    {
        $table = $this->table('setting_group');
        $rows = [
            [
                'id' => 3,
                'pid' => 0,
                'title' => '网站设置',
                'key' => 'web',
                'type' => '2',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
            [
                'id' => 4,
                'pid' => 0,
                'title' => '邮箱设置',
                'key' => 'mail',
                'type' => '1',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ]
        ];
        $exist = Db::name('setting_group')->count();
        if (!$exist) {
            $table->insert($rows)->saveData();
        }
    }

    public function user(): void
    {
        $table = $this->table('user');
        $rows = [
            [
                'id' => 1,
                'mobile' => '15999999999',
                'username' => 'user',
                'email' => 'liu@xinadmin.cn',
                'password' => '$2y$10$k8R6dLJ6TopQ8IUoDOBUvezDvr6UShMtTfMMiv1uh2CvZlQKMWSne',
                'nickname' => '小刘同学',
                'status' => '1',
                'create_time' => $this->createTime,
                'update_time' => $this->createTime
            ],
        ];
        $exist = Db::name('user')->count();
        if (!$exist) {
            $table->insert($rows)->saveData();
        }
    }

    public function userGroup(): void
    {
        $table = $this->table('user_group');
        $rows = [
            [
                'id' => 1,
                'pid' => 0,
                'name' => '普通会员',
                'rules' => '*',
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
            [
                'id' => 2,
                'pid' => 0,
                'name' => '访客',
                'rules' => '1,9,10,11,12',
                'update_time' => $this->createTime,
                'create_time' => $this->createTime,
            ],
        ];
        $exist = Db::name('user_group')->count();
        if (!$exist) {
            $table->insert($rows)->saveData();
        }
    }

    public function userRule(): void
    {
        $table = $this->table('user_rule');
        $rows = [
            [
                'id' => 1,
                'pid' => 0,
                'type' => '0',
                'sort' => 99,
                'name' => '首页',
                'path' => '/',
                'icon' => 'HomeOutlined',
                'key' => 'index',
                'locale' => 'menu.index',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime
            ],
            [
                'id' => 9,
                'pid' => 0,
                'type' => '0',
                'sort' => 0,
                'name' => '代码仓库',
                'path' => '/git',
                'icon' => 'StarOutlined',
                'key' => 'git',
                'locale' => 'menu.git',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime
            ],
            [
                'id' => 10,
                'pid' => 9,
                'type' => '1',
                'sort' => 0,
                'name' => 'Github',
                'path' => 'https://github.com/Xineny-liu/xinadmin',
                'icon' => null,
                'key' => 'xinadmin',
                'locale' => 'menu.github',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime
            ],
            [
                'id' => 11,
                'pid' => 9,
                'type' => '1',
                'sort' => 1,
                'name' => 'Gitee',
                'path' => 'https://gitee.com/xineny/xin-admin',
                'icon' => null,
                'key' => 'gitee',
                'locale' => 'menu.gitee',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime
            ],
            [
                'id' => 12,
                'pid' => 0,
                'type' => '0',
                'sort' => 0,
                'name' => '官方文档',
                'path' => 'https://xinadmin.cn',
                'icon' => 'FileSearchOutlined',
                'key' => 'ttps:..xinadmin.cn',
                'locale' => 'menu.xinadmin',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime
            ],
            [
                'id' => 13,
                'pid' => 0,
                'type' => '0',
                'sort' => 98,
                'name' => '会员中心',
                'path' => '/user',
                'icon' => 'UserOutlined',
                'key' => 'user',
                'locale' => 'menu.users',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime
            ],
            [
                'id' => 17,
                'pid' => 13,
                'type' => '1',
                'sort' => 99,
                'name' => '个人中心',
                'path' => '/user',
                'icon' => null,
                'key' => 'user',
                'locale' => 'menu.user',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime
            ],
            [
                'id' => 18,
                'pid' => 13,
                'type' => '1',
                'sort' => 98,
                'name' => '账户设置',
                'path' => '/user/userSetting',
                'icon' => null,
                'key' => 'user.userSetting',
                'locale' => 'menu.userSetting',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime
            ],
            [
                'id' => 19,
                'pid' => 13,
                'type' => '1',
                'sort' => 97,
                'name' => '修改密码',
                'path' => '/user/setPassword',
                'icon' => null,
                'key' => 'user.setPassword',
                'locale' => 'menu.setPassword',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime
            ],
            [
                'id' => 20,
                'pid' => 13,
                'type' => '1',
                'sort' => 0,
                'name' => '资产记录',
                'path' => '/user/log',
                'icon' => null,
                'key' => 'user.log',
                'locale' => 'menu.log',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime
            ],
            [
                'id' => 21,
                'pid' => 20,
                'type' => '1',
                'sort' => 0,
                'name' => '余额记录',
                'path' => '/user/log/moneyLog',
                'icon' => null,
                'key' => 'user.log.moneyLog',
                'locale' => 'menu.log.moneyLog',
                'status' => 1,
                'show' => 1,
                'update_time' => $this->createTime,
                'create_time' => $this->createTime
            ]
        ];
        $exist = Db::name('user_rule')->count();
        if (!$exist) {
            $table->insert($rows)->saveData();
        }
    }

}
